import {obj} from './index'

const userName: string = 'kaho'
const arr1: number[] = [1]
const arr2: Array<number> = [1]

class Person {
    protected name: string = 'kaho'
    protected age: string = '18'
}

class Men extends Person {
    getName: () => string = () => {
        return this.name + 'mingzi'
    }
}

let p = new Men() 

interface frontEnd {
    name: string,
    fn: () => void
}

class PersonAll implements frontEnd {
    name = 'kahoohak'
    fn = () => {}
}

let pa = new PersonAll()

abstract class Boss {
    name: string = 'dsl'
    abstract call: () => string
}

class A extends Boss {
    call: () => string = () => {
        return 'A'
    }
}

class B extends Boss {
    call: () => string = () => {
        return 'B'
    }
}

let a = new A()
console.log(a)

namespace Test {
    export class Test implements obj {
        name = 'hahaha'
    }

    const tt = new Test()
}